package practice.Day13;

import java.util.Scanner;

/**
 * @Author quan
 * @Description 参数解析
 * @Date 2023/5/22 9:06
 */

public class Num1_ArgsExplain {
    /**
     * 有思路，但是写出来只通过62.5%。主要是 “”的这个情况没有写出来。
     * 下面的代码被我改坏了
     * @param args
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        //1、定义计数个数
        int count = 0;
        for (int i = 0; i < str.length(); i++) {
            //2、遍历字符串，如果遇见的是“，则就行寻找下一个双引号
            if(str.charAt(i) == '"'){
                //先执行do中的语句，如果while的条件为真，则继续执行；否则跳出循环
                do{
                    i++;
                }while (str.charAt(i)!='"');
            }
            //3、如果遇见的是空格，则直接计数+1；
            if (str.charAt(i) == ' ') {
                count++;
            }
        }

        //2、求每个参数
        //记录每个子字符串的起始和终止位置：k是开始位置，i是终止位置。然后不断更新k的值
        int k = 0;
        //第一次遇见 “ 则定义flag的状态为true; 第二次遇见 " 则flag状态为flase
        boolean flag = false;
        for (int i = 0; i < str.length(); i++) {
            //如果遇见空格，就输出子字符串
           if(str.charAt(i) != ' '){
               for (int j = k; j < i; j++) {
                   System.out.println(str.charAt(j));
               }
               System.out.println();
               //更新k的值
               k = i+1;
           }
            //如果i已经遍历到最后一个字符串，也要输出这个子字符串
            if( i == str.length()-1){
                for (int j = k; j <= i; j++) {
                    System.out.print(str.charAt(j));
                }
            }
            //如果遇见的是第一个”
            if(str.charAt(i) == '"' && !flag){

                for (int j = i; j < str.length(); j++) {
                    if(str.charAt(i) == ' ' && !flag){
                        System.out.println(str.charAt(i));
                    }
                    if(str.charAt(i) != ' '){
                        System.out.println(str.charAt(i));
                    }
                    if(str.charAt(i) == '"'){
                        flag = true;
                    }
                }
            }
            if(str.charAt(i) == '"' && flag){
                System.out.println(str.charAt(i));
            }

        }
    }
}
